package app.modules.infrastructure.lov.util.conversion;

import app.modules.common.annotation.ConvertFrom;
import app.modules.common.annotation.ConvertTo;
import app.modules.infrastructure.lov.dto.web.WebValueItemDTO;
import app.modules.infrastructure.lov.persistence.entity.ValueItemEO;
import cn.hutool.core.collection.CollectionUtil;
import jasmine.framework.common.util.MapperUtil;

import java.util.Collection;
import java.util.Collections;
import java.util.List;

/**
 * @author mh.z
 */
public class ValueItemConvertUtil {

    @ConvertFrom(ValueItemEO.class)
    @ConvertTo(WebValueItemDTO.class)
    public static List<WebValueItemDTO> valueItemEO2WebValueItemDTO(Collection<ValueItemEO> records) {
        if (CollectionUtil.isEmpty(records)) {
            return Collections.emptyList();
        }

        return MapperUtil.mapToList(records, WebValueItemDTO.class);
    }

    @ConvertFrom(ValueItemEO.class)
    @ConvertTo(WebValueItemDTO.class)
    public static WebValueItemDTO valueItemEO2WebValueItemDTO(ValueItemEO record) {
        if (record == null) {
            return null;
        }

        return MapperUtil.mapTo(record, WebValueItemDTO.class);
    }


}
